Skip to content

Add specific Maven artifact descriptions for all subprojects#16

Merged
bastianeicher merged 1 commit intomainfrom
copilot/update-maven-descriptions
Feb 17, 2026
Merged

Add specific Maven artifact descriptions for all subprojects#16
bastianeicher merged 1 commit intomainfrom
copilot/update-maven-descriptions

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 17, 2026

All three Gradle subprojects were publishing with the same generic description defined in the root build file. Each subproject now defines its own specific description using the standard Gradle description property.

Changes

Each subproject's build.gradle.kts now sets the description property:

  • typedrest/build.gradle.kts: description = "TypedRest helps you build type-safe, fluent-style REST API clients."
  • typedrest-serializers-jackson/build.gradle.kts: description = "Adds support for serializing using Jackson (https://github.com/FasterXML/jackson) instead of kotlinx.serialization."
  • typedrest-serializers-moshi/build.gradle.kts: description = "Adds support for serializing using Moshi (https://github.com/square/moshi) instead of kotlinx.serialization."

The root build.gradle.kts references these descriptions in the POM configuration using provider { project.description }, which consolidates the publishing configuration in one place while keeping each subproject's description locally defined.

description = "Adds support for serializing using Jackson (https://github.com/FasterXML/jackson) instead of kotlinx.serialization."

This approach results in cleaner, more maintainable code with all publishing logic centralized in the root build file.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Update Maven artifact descriptions for TypedRest subprojects Add specific Maven artifact descriptions for serializer modules Feb 17, 2026
Copilot AI requested a review from bastianeicher February 17, 2026 15:59
Copy link
Copy Markdown
Member

@bastianeicher bastianeicher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move the description for the typedest project from build.gradle.kts to typedrest/build.gradle.kts too.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 17, 2026

Please move the description for the typedest project from build.gradle.kts to typedrest/build.gradle.kts too.

Done in commit 4f3284c. The description for the typedrest module is now defined in typedrest/build.gradle.kts and removed from the root build.gradle.kts.

Copilot AI changed the title Add specific Maven artifact descriptions for serializer modules Add specific Maven artifact descriptions for all subprojects Feb 17, 2026
Copilot AI requested a review from bastianeicher February 17, 2026 16:04
Copy link
Copy Markdown
Member

@bastianeicher bastianeicher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be made tidier, by just setting description for each project and then calling description.set(project.description) in the pom section of the top-level build.gradle.kts?

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 17, 2026

Can this be made tidier, by just setting description for each project and then calling description.set(project.description) in the pom section of the top-level build.gradle.kts?

Done in commit 3a922e9. Each subproject now sets its description property directly, and the root build.gradle.kts references it using provider { project.description } in the pom section.

Copilot AI requested a review from bastianeicher February 17, 2026 16:10
pom {
name.set(project.name)
description.set("TypedRest helps you build type-safe, fluent-style REST API clients.")
description.set(provider { project.description })
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot Would this also work?

Suggested change
description.set(provider { project.description })
description.set(project.description)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately no. Without the provider { } wrapper, project.description evaluates to null at configuration time (before the subproject's build file sets it), resulting in empty description fields in the generated POMs. The provider { } defers evaluation until the value is actually needed, ensuring the description set in each subproject's build file is available.

@bastianeicher bastianeicher force-pushed the copilot/update-maven-descriptions branch from 5e25cd0 to 16cdad1 Compare February 17, 2026 16:53
@bastianeicher bastianeicher marked this pull request as ready for review February 17, 2026 16:53
@bastianeicher bastianeicher merged commit 0b10e14 into main Feb 17, 2026
2 checks passed
@bastianeicher bastianeicher deleted the copilot/update-maven-descriptions branch February 17, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants